home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48_2 / fast < prev    next >
Internet Message Format  |  1995-03-31  |  4KB

  1. Path: seq!spell
  2. From: Detlef Mueller <detlef@mwhh.hanse.de>
  3. Subject:  v02i017:  fast - How to speed up your hp48, V1.1, Part01/01
  4. Newsgroups: comp.sources.hp48
  5. Keywords: FAST hp48
  6. Organization: M. Witt
  7. Followup-To: comp.sys.hp48
  8. Approved: spell@seq.uncwil.edu
  9.  
  10. Checksum: 1551528476 (verify with brik -cv)
  11. Submitted-by: Detlef Mueller <detlef@mwhh.hanse.de>
  12. Posting-number: Volume 2, Issue 17
  13. Archive-name: fast/part01
  14.  
  15. BEGIN_DOC fast.doc
  16. Hi ...
  17.  
  18. Anybody left who says `you can't speed up the HP48` ??? Yes ... ? Ok,
  19. here is how to do it, version 1.1 .
  20.  
  21. Displaying the display :-] is time consuming. The display refresh logic
  22. steal about 11% of the CPU time from the Saturn, so switch off the LCD
  23. and all is fine.
  24.  
  25. The following program turns the display off (that's the disadvantage of
  26. this program, you can't see what's going on), execute the object in the
  27. first stack level (sorry, no tagged object), then turns the display on
  28. again.
  29.  
  30. The entry to turn the display off is not supported in ENTRIES.A (there
  31. is a entry named 'DispOff', it switches off the display 'dirty'. I used
  32. this entry in version 1.0 of FAST). 'CleanDispOff' is used by the OFF
  33. routine (hard to find :-).
  34.  
  35. If your program terminates and the display is still off, switch the HP48
  36. off (blind) then on again. This should reenable the display.
  37.  
  38. IMO you can further speed up your programs, if you activate the commented
  39. lines in FAST.S because timer interrupts are time consuming, too.
  40. I've not test this ! Do it at your own risk !
  41.  
  42. If you only want to use FAST, download FAST.ASC into your HP48, execute
  43. ASC\-> on it and store the result into a variable name 'FAST' in the HOME
  44. directory.
  45.  
  46. To generate FAST, put the listings of FAST.S and FAST.M in the appropriate
  47. files, then invoke the following commandlines at the MesS-DOS prompt:
  48.  
  49.     rplcomp fast.s fast.a
  50.     sasm -e -N fast.a
  51.     sload -H fast.m
  52.  
  53. Bye,
  54.     8-), Detlef
  55.  
  56. END_DOC
  57.  
  58. BEGIN_SRC fast.m
  59. SUpress XRef
  60. OUtput fast
  61. LLu fast.lr
  62. SEarch entries.o
  63. RElocate fast.o
  64. END_SRC
  65.  
  66.  
  67.  
  68. BEGIN_SRC fast.s
  69. *****************************************************************************
  70. * Modulname:    FAST
  71. * Modultype:    Secondary
  72. * Dest.Comp.:    HP48
  73. * Language:    System RPL
  74. * Author:    Detlef Mueller,Nibelungenweg 6,2000 Hamburg 56,W-Germany
  75. * Interface:    FAST    ( ob --> )
  76. * Description:    Execute <ob> with display off. Exec. time saving of ~11% .
  77. * Edition History :
  78. *    1.000    09-05-1991    DM    Release
  79. *      001    09-26-1991    DM    add CleanDispOff, evaluation more
  80. *                    close to user EVAL
  81. *****************************************************************************
  82.  
  83.     TITLE    Fast
  84.  
  85. ASSEMBLE
  86.     NIBASC    /HPHP48-E/
  87.  
  88. CleanDispOff    EQU    #01D44
  89.  
  90. RPL
  91.  
  92. ::
  93.     CK1NoBlame
  94.     CODE
  95.     GOSBVL    =SAVPTR
  96.     GOSBVL    =DisableIntr
  97.     GOSBVL    =CleanDispOff
  98.     GOSBVL    =AllowIntr    * Comment this line at you own risc !
  99.     GOVLNG    =GETPTRLOOP
  100.     ENDCODE
  101.     ERRSET
  102.     ::    CK&DISPATCH0
  103.         symb    COMPEVAL
  104.         list    COMPEVAL
  105.         ZERO    EVAL        ( *Any object* )
  106.     ;
  107.     ERRTRAP
  108.     ::
  109.     CODE
  110.     GOSBVL    =SAVPTR
  111.     GOSBVL    =DispOn
  112. ***    GOSBVL    =AllowIntr    * Uncomment this line at you own risc !
  113.     GOVLNG    =GETPTRLOOP
  114.     ENDCODE
  115.     ERRJMP
  116.     ;
  117.     CODE
  118.     GOSBVL    =SAVPTR
  119.     GOSBVL    =DispOn
  120. ***    GOSBVL    =AllowIntr    * Uncomment this line at you own risc !
  121.     GOVLNG    =GETPTRLOOP
  122.     ENDCODE
  123. ;
  124. END_SRC
  125.  
  126.  
  127.  
  128. BEGIN_ASC fast.asc
  129. %%HP: T(3)A(R)F(.);
  130. "D9D20D2951CCD20820008FB97608F511108F44D108F5E0108D34150E5E40D9D2
  131. 0D9F8194040ABE8112040ABE81FEF30E8F60B21308BE40D9D20CCD20A10008FB
  132. 97608FF8B108D341501DE40B2130CCD20A10008FB97608FF8B108D34150B2130
  133. 22DB"
  134. END_ASC
  135.  
  136.  
  137. BYTES: #BD22h 104.5
  138.  
  139. BEGIN_UU fast.uue
  140. begin 644 fast
  141. M2%!(4#0X+46=+="2%<PM@`(`^)MG@%\1`?A$'8!?#@'80U'@Y02=+=#Y&$E`\
  142. MH.L8(4"@ZQCO/^#X!BLQ@.L$G2W`W`(:`("_>0;XCQN`/10%T4ZP$@/,+:`!\
  143. .`/B;9X#_N`'80U&P$@.P)
  144. ``
  145. end
  146. END_UU
  147. -- 
  148. +-----------------------------------+---------------------------------------+
  149. |       `You mean this isn't        |             Detlef Mueller            |
  150. |          the afterlife ?`         |          detlef@mwhh.hanse.de         |
  151. | Arthur in THGTTG, part II, p. 78  |...!uunet!mcsun!unido!mcshh!mwhh!detlef|
  152. +-----------------------------------+---------------------------------------+
  153.  
  154.